package ru.evga.inse.server.gwt.user.client.menu.realty;
//package ru.xevgalex.infosea.gwtclient.user.client.menu.realty;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import ru.xevgalex.infosea.gwt.lib.client.domain.ResultContainer;
//import ru.xevgalex.infosea.gwt.lib.client.request.IServiceRequestCallback;
//import ru.xevgalex.infosea.gwt.lib.client.request.RequestFactory;
//import ru.xevgalex.infosea.gwt.lib.client.request.params.FindEntityRangeParams;
//import ru.xevgalex.infosea.gwtclient.common.client.domain.dict.CityDto;
//
//import com.google.gwt.core.client.GWT;
//import com.google.gwt.core.client.JsArray;
//import com.google.gwt.uibinder.client.UiBinder;
//import com.google.gwt.uibinder.client.UiField;
//import com.google.gwt.user.cellview.client.CellTable;
//import com.google.gwt.user.cellview.client.TextColumn;
//import com.google.gwt.user.client.Window;
//import com.google.gwt.user.client.ui.Composite;
//import com.google.gwt.user.client.ui.Widget;
//import com.google.gwt.view.client.AsyncDataProvider;
//import com.google.gwt.view.client.HasData;
//import com.google.gwt.view.client.Range;
//
//
///**
// * The outermost UI of the application.
// */
//public class _RealtyContentView
//    extends Composite
//{
//    interface Binder
//        extends UiBinder<Widget, _RealtyContentView>
//    {
//    }
//
//    public interface Presenter
//    {
//        void goToRealty();
//
//        void goToForum();
//    }
//    private static final Binder BINDER = GWT.create(Binder.class);
//    Presenter m_presenter;
//    
//    public HasData<CityDto> asHasData()
//    {
//        return table;
//    }
//    @UiField
//    CellTable<CityDto> table;
//
//    public _RealtyContentView()
//    {
//        initWidget(BINDER.createAndBindUi(this));
//        
//        // Create ID column.
//        TextColumn<CityDto> idColumn = new TextColumn<CityDto>()
//        {
//            @Override
//            public String getValue(CityDto city)
//            {
//                return Integer.toString(city.getId());
//            }
//        };
//        // Create name column.
//        TextColumn<CityDto> nameColumn = new TextColumn<CityDto>()
//        {
//            @Override
//            public String getValue(CityDto city)
//            {
//                return city.getName();
//            }
//        };
//
//        // Set the range to display. In this case, our visible range is smaller than
//        // the data set.
//        AsyncDataProvider<CityDto> dataProvider = new AsyncDataProvider<CityDto>()
//        {
//
//            @Override
//            protected void onRangeChanged(HasData<CityDto> display)
//            {
//                onRangeChangedInner(table);
//                
//            }
//            
//        };
//        
//        //        nameColumn.setSortable(true);
//        // Add the columns.
//        table.addColumn(idColumn, "Id");
//        table.addColumn(nameColumn, "Name");
//        // Set the total row count. You might send an RPC request to determine the
//        // total row count.
//        // Set the range to display. In this case, our visible range is smaller than
//        // the data set.
////        table.setRowCount(50, true);
//        dataProvider.addDataDisplay(table);
//        
//    }
//
//    public void setPresenter(Presenter presenter)
//    {
//        m_presenter = presenter;
//    }
//    
//    public void onRangeChangedInner(HasData<CityDto> listView)
//    {
//        final Range range = listView.getVisibleRange();
//
//      FindEntityRangeParams params = FindEntityRangeParams.createEmptyParams(); 
//      params.setAsc(true);
//      params.setEntityName("city");
//      params.setFirstResult(range.getStart());
//      params.setMaxResults(range.getLength());
//      params.setOrderBy("name");
//      RequestFactory.findEntityRange(params, new IServiceRequestCallback<ResultContainer<CityDto>, String>()
//          {
//
//              public void ok(ResultContainer<CityDto> entities)
//              {
//                  List<CityDto> list = new ArrayList<CityDto>();
//                  JsArray<CityDto> array = entities.getResult();
//                  for(int i = 0; i<array.length();i++)
//                  {
//                      list.add(array.get(i));
//                  }
//                  table.setRowData(range.getStart(), list);
//              }
//
//              public void error(String data)
//              {
//                  Window.alert(data);
//              }
//          });
//    }
//}
